perm filename A110.TEX[106,RWF]1 blob
sn#807817 filedate 1985-11-19 generic text, type C, neo UTF8
COMMENT ā VALID 00002 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00002 00002 \magnification\magstephalf
C00012 ENDMK
Cā;
\magnification\magstephalf
\input macro.tex
\def\today{\ifcase\month\or
January\or February\or March\or April\or May\or June\or
July\or August\or September\or October\or November\or December\fi
\space\number\day, \number\year}
\baselineskip 14pt
\rm
\font\rmn=amr9
\line{\sevenrm a110.tex[106,phy] \today\hfill}
{\narrower\smallskip\noindent
Cleveland Budgets Left a Mess By One Small Computer Goof
\smallskip
\noindent
Cleveland
\smallskip
\noindent
Someone in the county auditor's office listed the worth of
a home owned by Joseph and Elizabeth Sprenger at \$510
million. The valuation plunged the city's budget and the
schools' budget into confusion.
\smallskip
\noindent
The house was worth \$35,000.
\smallskip
\noindent
As a result, Cleveland will get \$2 million less in real
estate revenues than expected and the city's schools will
get \$4 million less. Both had based their budgets on
anticipated revenues that included the auditor's error.
\smallskip
\noindent
``It throws our whole budget out of whack,'' said Joseph
Tegreene, a member of the school board. ``We were proud
we had produced the first balanced budget in five years
without a state loan.''
\smallskip
\noindent
It was not known who made the error.
\smallskip
\noindent
Cuyahoga County Auditor Tim McCormack said someone at a
computer console apparently placed the `5100' code number
used to indicate residential homes at the front of the
value for the Sprengers' home. The value came out
\$510,035,000.
\smallskip
\noindent
The Sprengers never got a tax bill on the erroneous value.
It was corrected before being sent out, but McCormack said
no one notified the schools.
\smallskip
\noindent
Tegreene said he expects the school board to try to trim
\$4 million from its budget. Phillip Allen, city budget
director, said the city will do new projections on its
budget.
\line{\hfil ---San Francisco Chronicle, June 24, 1983\qquad}
\smallskip}
\medskip
``Who's buried in downtown Cleveland?''
\qquad ``Everybody.''
\line{\hfill Another Cleveland Joke\qquad\hfil}
\line{\hfill Robert W. Floyd\qquad\hfil}
\line{\hfill Copyright 1983\qquad\hfil}
\medskip
Don't blame the typist who entered the incorrect value of the Sprenger home into
the computer. Typists always make mistakes; a well-designed information
processing system takes that into account, and detects or allows for the mistakes.
Don't blame the computer, either. It was just following orders, and, unlike
Adolph Eichmann, it had no choice in the matter. I~can imagine it muttering to
itself ``This don't seem right somehow. I~wish I~had some way to ask somebody
about it.'' A good computer programmer always designs his programs to respond
adequately
to incorrect as well as correct data. Among the options common sense would
suggest to a programmer of a property tax base evaluation:
\smallskip
\disleft 25pt:
(1):Each type of property has a certain plausible maximum and minimum value.
The maximum plausible value for a house might be 120\%\ of the previous year's
highest assessed value of any house.
\disleft 25pt:
(2):Such maxima and minima might be set by neighborhoods; a single-family house
in a slum is unlikely to be worth more than \$100,000, while many a house in
Shaker Heights might top \$1,000,000.
\disleft 25pt:
(3):If the previous year's evaluation of the same property is available on a
computer file, plausible maxima and minima might be (say) 20\%\ above and below
the old valuation.
\disleft 25pt:
(4):Depending on the degree of implausibility, the computer might request
confirmation of the input by the typist:
{\narrower\narrower\smallskip\noindent
``Valuation increased by 35\%\ in one year. Is this confirmed?
Type {\tt Y} or~{\tt N}.''
\smallskip}
It might demand credentials:
{\narrower\narrower\smallskip\noindent
``New house evaluated at \$2,800,000. Evaluations over
\$1,000,000 must be confirmed by county assessor or deputy.
Please enter password of confirming officer, or the word
{\tt POSTPONE}.''
\smallskip}
It might simply refuse to accept certain data.
{\narrower\narrower\smallskip\noindent
``Valuation of single family home over \$10,000,000 does not compute.
Don't mess with me or I'll raise your electric bill.''
\smallskip}
\medskip
In addition to the willingness of Cleveland's program to accept bad data, it
apparently had a second failing; the left hand did not know what the right one was
doing. The Sprenger assessment was corrected for the purpose of calculating the
Sprenger's tax bill, but not for the purpose of calculating the city's tax base.
Part of the discipline of data base management (the handling of large files of
repeatedly used data) is to avoid using multiple copies of what should be the
same data in different places; such multiple copies can lead to internal
inconsistency in the data base.
The use of a numerical code to indicate the type of building is an open
invitation to the kind of error that occured. Why not use~``{\tt R},'' rather
than 5100, to mean residence?
A good programmer should always ask ``What happens to the world if someone enters
bad data into my program, five years in the future, when I've gone away to the
job that finally pays me what I'm worth? Will the program be likely to detect
bad data? Will the results of undetected bad data seem plausible? How likely
are bad data? How catastropic are the consequences? Will I be sued?''
If you ever go to work as a programmer for Cuyahoga County, please tell them
what I said. And try to arrange to be paid by a handwritten paycheck.
(On the other hand, if you opt for a computerized paycheck, you might get one
for \$510,035,000. There's always that chance. Anything can happen
in the city where the river caught fire.)
\bigskip
\parindent0pt
\copyright 1984 Robert W. Floyd;
First draft March 28, 1984.
\bye